package com.example.demo.mapper;

import com.example.demo.model.BookInfo;
import com.example.demo.model.PageRequest;
import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

import java.util.List;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 25228
 * Date: 2025-06-05
 * Time: 20:51
 */
@Mapper
public interface BookMapper {
    @Insert("insert into book_info (book_name,author,count,price,publish,`status`) " +
            "value(#{bookName},#{author},#{count},#{price},#{publish},#{status})")
    Integer insertBook(BookInfo bookInfo);

    @Select("select count(1) from book_info where `status`!=0")
    Integer count();

    @Select("select * from book_info where `status` !=0 order by id asc limit #{offset},#{pageSize}")
    List<BookInfo> queryListByLimit(PageRequest pageRequest);

    @Select("select * from book_info where `status` !=0 and id=#{bookId}")
    BookInfo queryBookById(Integer bookId);


    Integer updateBook(BookInfo bookInfo);

    Integer batchDeleteBook(List<Integer> ids);
}
